Server-side rendering generally refers to the concept of processing and rendering computer graphics, e.g. video sequences, digital images or text, on computer servers and delivering the resulting graphical output to remote users at their client devices. In one form, the graphical output is delivered as a series of video frames compressed using a video codec. One of the popular applications for server-side rendering is computer games, which often place high demands on the graphical resources of the computer systems used for game execution. Instead of forcing a game player to choose between investing a great deal of money on a high-end computer system capable of satisfying the demands placed on the graphical resources by sophisticated computer games and accepting lower quality graphics, sever-side rendering provides an alternative solution. A game player may choose to have a computer game rendered on a server system, which often contains better resources, and delivered to a remote client device as a video sequence usually compressed using a negotiated video codec. In this case, the client device only needs to decompress and display the processed and rendered images.
Of course, computer games are not the only applications for which server-side rendering is suitable. For example, with video streaming, individual frames of a video may be decoded and rendered on a server system and delivered to the client devices. Similarly, videos and images are not the only types of visual results that may be rendered on a server system. In fact, server-side rendering may be used to render any type of application. For example, text-based applications, such as word processors and spreadsheets, may be rendered on a computer server and delivered to the client devices as well, since, similar to digital images, since the output of such applications is represented as pixels on the display systems.